package com.buba.mapper;

import entity.KudosEntity;
import entity.VO.UserVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Author: 孔德嘉
 * @Description: TODO点赞
 * @DateTime: 2023/3/7 11:57
 **/
@Mapper
public interface KudosMapper {
    /*
     * @param id 日记、话题id
     * @param type 日记、话题类型
     * @return int
     * @author kdj
     * @describe:根据id查询点赞数量
     * @date 2023/3/7 9:20
     */
    int getKudosNum(@Param("id")int id, @Param("type")int type);

    /*
    * @param id 日记、话题id
    * @param type 日记、话题类型
    * @param isShowAll 是否全部显示
    * @return java.util.List<entity.VO.UserVO>
    * @author kdj
    * @describe:根据id查询点赞列表
    * @date 2023/3/7 12:00
    */
    List<UserVO> getKudosUserList(@Param("id")int id, @Param("type")int type,@Param("isShowAll") boolean isShowAll);

    /*
     * @param id 日记、话题id
     * @param type 日记、话题类型
    * @param kudosUserId 用户
    * @return KudosEntity
    * @author kdj
    * @describe:查询该用户是否点赞
    * @date 2023/3/8 9:46
    */
    KudosEntity getKudosById(@Param("id")int id, @Param("type")int type, @Param("kudosUserId") int kudosUserId);

    /*
    * @param kudosEntity
    * @return int
    * @author kdj
    * @describe:新增点赞
    * @date 2023/3/8 11:07
    */
    int addKudos(KudosEntity kudosEntity);

    /*
    * @param kudosEntity
    * @return int
    * @author kdj
    * @describe:修改点赞状态
    * @date 2023/3/8 11:15
    */
    int upKudosNum(KudosEntity kudosEntity);
}
